home *** CD-ROM | disk | FTP | other *** search
- section lard,code
- opt d+,c+
-
- ;run with monam as it used illegal for info!
-
- _LVOLockPubScreen EQU -510
- _LVOUnlockPubScreen EQU -516
- _LVOOpenWindowTagList EQU -606
-
- CALLGAD MACRO
- move.l _GadToolsBase,a6
- jsr _LVO\1(a6)
- ENDM
-
- code: include dh0:include/system
- include libraries/gadtools.i
- include libraries/gadtools_lib.i
- include utility/tagitem.i
-
- Lea GFXName,A1
- Moveq #0,D0
- CALLEXEC OpenLibrary
- Move.l D0,_GfxBase
- Beq Error
-
- Lea DosName,A1
- Moveq #0,D0
- CALLEXEC OpenLibrary
- Move.l D0,_DOSBase
- Beq Error
-
- Lea IntName,A1
- Moveq #0,D0
- CALLEXEC OpenLibrary
- Move.l D0,_IntuitionBase
- Beq Error
-
- Lea GadToolsName,A1
- Moveq #0,D0
- CALLEXEC OpenLibrary
- Move.l D0,_GadToolsBase
- Beq Error
-
- *-----------------------------------------------*
-
- bsr SetupScreen
- bsr OpenProject0Window
-
- move.l Project0Wnd,a0
- Move.l wd_UserPort(a0),_MyWinUserPort
-
- *-----------------------------------------------*
-
- .WaitLoop Move.l _MyWinUserPort,A0
- CALLEXEC WaitPort
- Move.l _MyWinUserPort,A0
- CALLGAD GT_GetIMsg
- Move.l D0,A1
- Move.l im_Class(A1),D2 ;D2=IDCMP Flags Directly
- Move.w im_Code(A1),D3 ;D3=Data ie key why class=Rawkey
- Move.w im_Qualifier(A1),D4 ;D4=things like CTRL SHIFT
- Move.w im_MouseX(a1),D5 ;D5=MouseX Coordinate
- Move.w im_MouseY(a1),D6 ;D5=MouseY Coordinate
- Move.l im_IAddress(A1),D7 ;D7=Addres of Intuition Obj ie Gadget
- Movem.l D0-D7/A0-A6,-(A7)
- CALLGAD GT_ReplyIMsg
- Movem.l (a7)+,D0-D7/A0-A6
-
- Cmp.l #CLOSEWINDOW,D2
- beq .exit
-
- cmp.l #GADGETUP,d2
- bne .WaitLoop
-
- move.l d7,a0
- cmp.l Project0Gadgets+(0*4),d7
- beq .gad1
- cmp.l Project0Gadgets+(1*4),d7
- beq .gad2
- cmp.l Project0Gadgets+(2*4),d7
- beq .gad3
- cmp.l Project0Gadgets+(3*4),d7
- beq .gad4
- bra .WaitLoop
-
- .gad1 illegal
- bra .WaitLoop
-
- .gad2 illegal
- ;d3=0/1 for stake of toggle gadget
- bra .WaitLoop
-
- .gad3 illegal
- ;d3=0-3 for selected palette icon
- bra .WaitLoop
-
- .gad4 illegal
- ;d3=0-3 for selected cycle gadget
- bra .WaitLoop
-
- ;;;
-
- .exit bsr CloseProject0Window
- bsr CloseDownScreen
-
- Move.l Scr,A0
- CALLINT CloseScreen
-
- *-----------------------------------------------*
-
- CloseInt Move.l _GadToolsBase,A1
- CALLEXEC CloseLibrary
-
- NoGT: Move.l _IntuitionBase,A1
- CALLEXEC CloseLibrary
-
- Move.l _DOSBase,A1
- CALLEXEC CloseLibrary
-
- Move.l _GfxBase,A1
- CALLEXEC CloseLibrary
-
- *-------------------------------*
-
- Error Moveq #0,D0
- Rts
-
- *-------------------------------*
-
- include dh0:data/pw/demo.s
-
- *-------------------------------*
-
- _IntuitionBase dc.l 0
- _DOSBase dc.l 0
- _GfxBase dc.l 0
- _GadToolsBase dc.l 0
-
- _MyWinUserPort dc.l 0
-
- GFXName GRAFNAME
- IntName INTNAME
- DosName DOSNAME
- GadToolsName dc.b "gadtools.library",0
- even
-
-